1. Field of the Invention
The present invention relates generally to information and communication technology and software development technology, and particularly to a technique for assisting preparation of a flow using a visual programming tool.
2. Description of the Related Art
As a programming tool, there is a visual programming tool that can develop application software (hereinafter referred to as an application) that operates by describing a model diagram without writing source code. One example is Node-RED (https://nodered.org/) as open source software (OSS). In software development using visual programming tools, an attribute value as a value corresponding to usage, an environment, and other circumstances is set as required for a node in which various processes are represented, and a flow formed by a connection indicating a relationship between nodes (e.g., a flow of processing) is prepared. An example of the attribute value includes an acquisition destination of information, and an example of the relationship between nodes is a flow of data. By using such a visual programming tool, a developer can develop an application that intuitively performs intended processing even without sufficient knowledge of software development. Meanwhile, the visual programming tool may be called “model development environment”. A constituent element and a processing unit of software are nodes, and a connection between nodes may be called “edge”. “Node” and “edge” are terms in a directed graph, and a flow diagram in Node-RED can also be regarded as a directed graph. In this specification, a flow diagram, a block diagram, and a directed graph are synonymous, a flow diagram can be simply called “flow”, and “flow” and “graph” can be synonymous.
Further, in a field of software development, an application model prepared in advance (hereinafter called a template, and may also be called a catalog) is often used to shorten a development period. Here, “template” can indicate one in which a relationship between elements constituting an application and setting information are described in terms of software. A developer of the application can shorten the development period and efficiently develop the application by acquiring a template close to a purpose from a template list (also called a marketplace or the like) and simply changing a necessary part.
By applying a similar idea to the visual programming tool, application developers can expect to efficiently develop applications by acquiring flow templates and making changes.
JP 2010-072880 A discloses a technique for eliminating a problem of setting by preliminarily defining constraint conditions of setting information used for internal processing of each object, when objects (nodes) perform processing in cooperation with each other.